Sercos 3 Device HAL

Version  Name  Date       Revision History
2.0.0.2  BI    07.12.2017 Fixed: Deadlock when TCNT event map is disabled before first event
2.0.0.1  BI    25.04.2016 Fixed: MDT is cut off during transmission when 6 or more consecutive CDEV descriptors are configured
2.0.0.0  AO    08.03.2016 Merging all netX derivates to netX Studio project (Hitex Hitop IDE support dropped)




### Older release notes ###

Hardware platform:
NXHX500-RE (Sercos 3 Device on XC channel 0/1/3)

Version  Name  Date       Revision History
1.0.0.0  BI    14.11.2011 Initial release
1.0.1.0  BI    17.11.2011 Fixed deadlock after enhanced link down detection on passive port
1.1.0.0  BI    08.02.2012 API: Removed function S3D_GetNewSvcSlaves()
                          API: Removed function S3D_GetIrqMask()
                          API: Removed function S3D_SetIrqMask()
                          API: Removed IRQ NEW_SVC_REQ
                          API: Added function S3D_GetSyncIrq()
                          API: Added function S3D_ConfirmSyncIrq()
                          API: Added IRQ ENH_LINK_BREAK
                          API: Added IRQ FATAL_ERROR
                          API: Added IRQ CONCLK
                          API: Added IRQ DIVCLK
                          API: Added S3D_PARAM_IRQ_MASK_COM to enum S3D_PARAM
                          API: Added S3D_PARAM_IRQ_MASK_SYNC to enum S3D_PARAM
                          API: Added S3D_PARAM_T_CONCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_DT_CONCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_T_DIVCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_DT_DIVCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_STARTTIME_CYCLIC_OP to enum S3D_PARAM
                          API: Added S3D_PARAM_NEXT_CONCLK_EVENT_TIME to enum S3D_PARAM
                          API: Added S3D_PARAM_NEXT_DIVCLK_EVENT_TIME to enum S3D_PARAM
                          API: Added S3D_PARAM_PLL_AMPL_POW_P to enum S3D_PARAM
                          API: Added S3D_PARAM_PLL_AMPL_POW_I to enum S3D_PARAM
                          API: Added S3D_PARAM_PORT_S3_LED_ENABLE to enum S3D_PARAM
                          Fixed: IP channel closes after NRT fallback
                          Fixed: NRT Transmission too early if TX request is pending at t6
                          Fixed: MSTs outside MST window are being processed
                          Fixed: xPEC crashes during NRT fallback under NRT load
                          Fixed: NRT load during CP0 startup may causes URX fifo underruns
                          Change: Feature of 2nd port LED showing topology state is disabled by default and can be enabled with S3D_SetParam(S3D_PARAM_PORT_S3_LED_ENABLE, 1)
1.1.1.0  BI    23.02.2012 Fixed: Application example calls S3D_GetMdtSvcData() without IRQ lock
1.1.2.0  BI    15.05.2012 Fixed: S3D_GetMdtSvcData() gets wrong data for ulBufOffsetDw != 0
                          Fixed: xPEC descriptor buffer too small, now 5 slaves without cross communication or 6 slaves with cross communication are supported
                          Fixed: Application example not thread safe
                          Fixed: MST IRQ is indicated although MST was received before MST window is open (on inactive port)
1.1.3.0  BI    01.06.2012 Fixed: Triple buffer flag RX_RTD_A_UPDATED is never reset
1.1.4.0  BI    05.07.2012 Change: Number of supported slaves is now 8, maximum real time data: 128 Byte per direction
1.1.5.0  BI    15.10.2012 Fixed: Sync signals may be toggled erroneous if cyclic operation is disabled and re-enabled within one cycle
                          Fixed: Typos in comments
1.2.0.0  BI    17.06.2013 Change: Event maps can now be disabled by passing ptTimingTable = NULL into S3D_SetEventMap() (should be done at NRT fall back)
                          Added: Hot-plug functionality S3D_GetHotPlug()
                          Added: function S3D_GetPSCounters() get primary/secondary channel S3 CP1..3 frame counters in NRT topology
                          Added: Parameters controlling the forwarding in NRT topology S3D_PARAM_FRWD_CP0_ENABLE, S3D_PARAM_FRWD_CP1234_ENABLE, S3D_PARAM_FRWD_NON_S3_ENABLE
                          Fixed: deadlock when jabber frames are received
                          Fixed: ping demo: frame length < 60
                          Fixed: IP-Channel closes in NRT topology if t7 is configured and CP>0 MSTs are received
                          Fixed: TX-Abort may cause URX overflow errors
1.2.1.0  BI    04.02.2014 Fixed: Validity checks in S3D_UpdateDesc() are inadequate, descriptor size of 256 bytes is impossible
1.3.0.0  BI    17.09.2015 API: Added parameter uAdrIdx to function S3D_SetInterfaceMacAddr()
                          Change: Descriptor data length must be a multiple of two
                          Change: Increased RX buffer length to 136 bytes including the frame valid vector


Hardware platform:
NXHX50-RE (Sercos 3 Device on XC channel 0/1)

Version  Name  Date       Revision History
1.0.0.0  BI    14.11.2011 Initial release
1.0.1.0  BI    17.11.2011 Fixed deadlock after enhanced link down detection on passive port
1.1.0.0  BI    08.02.2012 API: Removed function S3D_GetNewSvcSlaves()
                          API: Removed function S3D_GetIrqMask()
                          API: Removed function S3D_SetIrqMask()
                          API: Removed IRQ NEW_SVC_REQ
                          API: Added function S3D_GetSyncIrq()
                          API: Added function S3D_ConfirmSyncIrq()
                          API: Added IRQ ENH_LINK_BREAK
                          API: Added IRQ FATAL_ERROR
                          API: Added IRQ CONCLK
                          API: Added IRQ DIVCLK
                          API: Added S3D_PARAM_IRQ_MASK_COM to enum S3D_PARAM
                          API: Added S3D_PARAM_IRQ_MASK_SYNC to enum S3D_PARAM
                          API: Added S3D_PARAM_T_CONCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_DT_CONCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_T_DIVCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_DT_DIVCLK to enum S3D_PARAM
                          API: Added S3D_PARAM_STARTTIME_CYCLIC_OP to enum S3D_PARAM
                          API: Added S3D_PARAM_NEXT_CONCLK_EVENT_TIME to enum S3D_PARAM
                          API: Added S3D_PARAM_NEXT_DIVCLK_EVENT_TIME to enum S3D_PARAM
                          API: Added S3D_PARAM_PLL_AMPL_POW_P to enum S3D_PARAM
                          API: Added S3D_PARAM_PLL_AMPL_POW_I to enum S3D_PARAM
                          API: Added S3D_PARAM_PORT_S3_LED_ENABLE to enum S3D_PARAM
                          Fixed: IP channel closes after NRT fallback
                          Fixed: NRT Transmission too early if TX request is pending at t6
                          Fixed: MSTs outside MST window are being processed
                          Fixed: xPEC crashes during NRT fallback under NRT load
                          Fixed: NRT load during CP0 startup may causes URX fifo underruns
                          Change: Feature of 2nd port LED showing topology state is disabled by default and can be enabled with S3D_SetParam(S3D_PARAM_PORT_S3_LED_ENABLE, 1)
1.1.1.0  BI    23.02.2012 Fixed: Sometimes MDT data is not written into buffer on port 1 (netX50 only)
                          Fixed: Application example calls S3D_GetMdtSvcData() without IRQ lock
1.1.2.0  BI    15.05.2012 Fixed: S3D_GetMdtSvcData() gets wrong data for ulBufOffsetDw != 0
                          Fixed: xPEC descriptor buffer too small
                          Fixed: Application example not thread safe
                          Fixed: MST IRQ is indicated although MST was received before MST window is open (on inactive port)
1.1.3.0  BI    01.06.2012 Fixed: Triple buffer flag RX_RTD_A_UPDATED is never reset
1.1.4.0  BI    01.11.2012 Fixed: SVC request fails, if it is sent together with FF request
                          Change: Project directory structure, added cifX target
1.2.0.0  BI    17.06.2013 Change: Event maps can now be disabled by passing ptTimingTable = NULL into S3D_SetEventMap() (should be done at NRT fall back)
                          Change: TX RTD buffer increased from 256 to 260 bytes
                          Added: Hot-plug functionality S3D_GetHotPlug()
                          Added: function S3D_GetPSCounters() get primary/secondary channel S3 CP1..3 frame counters in NRT topology
                          Added: Parameters controlling the forwarding in NRT topology S3D_PARAM_FRWD_CP0_ENABLE, S3D_PARAM_FRWD_CP1234_ENABLE, S3D_PARAM_FRWD_NON_S3_ENABLE
                          Fixed: deadlock when short/jabber frames are received
                          Fixed: ping demo: frame length < 60
                          Fixed: IP-Channel closes in NRT topology if t7 is configured and CP>0 MSTs are received
                          Fixed: TX-Abort may cause URX overflow errors
1.2.1.0  BI    04.02.2014 Fixed: Validity checks in S3D_UpdateDesc() are inadequate, descriptor size of 256 bytes is impossible
1.3.0.0  BI    17.09.2015 API: Added parameter uAdrIdx to function S3D_SetInterfaceMacAddr()
                          Change: Descriptor data length must be a multiple of two


Hardware platform:
NXHX51-RE (Sercos 3 Device on XC channel 0/1)

Version  Name  Date       Revision History
1.1.4.0  BI    01.11.2012 Initial release, branched from from hal_s3d_netx50 V1.1.4.0
1.2.0.0  BI    17.06.2013 Change: Event maps can now be disabled by passing ptTimingTable = NULL into S3D_SetEventMap() (should be done at NRT fall back)
                          Change: TX RTD buffer increased from 256 to 260 bytes
                          Added: Hot-plug functionality S3D_GetHotPlug()
                          Added: function S3D_GetPSCounters() get primary/secondary channel S3 CP1..3 frame counters in NRT topology
                          Added: Parameters controlling the forwarding in NRT topology S3D_PARAM_FRWD_CP0_ENABLE, S3D_PARAM_FRWD_CP1234_ENABLE, S3D_PARAM_FRWD_NON_S3_ENABLE
                          Fixed: deadlock when short/jabber frames are received
                          Fixed: ping demo: frame length < 60
                          Fixed: IP-Channel closes in NRT topology if t7 is configured and CP>0 MSTs are received
                          Fixed: TX-Abort may cause URX overflow errors
1.2.1.0  BI    04.02.2014 Fixed: Validity checks in S3D_UpdateDesc() are inadequate, descriptor size of 256 bytes is impossible
1.3.0.0  BI    17.09.2015 API: Added parameter uAdrIdx to function S3D_SetInterfaceMacAddr()
                          Change: Descriptor data length must be a multiple of two
